package com.demo.webapp.views.freemarker.directive.core.validation;

import java.util.Map;

import com.demo.webapp.views.freemarker.directive.core.validation.exception.ParameterValidateException;
import com.demo.webapp.views.freemarker.directive.model.DirectiveModel;

/**
 * 指令参数验证接口
 * 
 * @author ryuu.kk
 * 
 */
public interface ParameterValidateable {

	/**
	 * 参数验证
	 * @param params 参数Map
	 */
	@SuppressWarnings("rawtypes")
	void validate(Map params) throws ParameterValidateException;
	
	/**
	 * 设置DirectiveModel
	 * @param model DirectiveModel
	 */
	void setDirectiveModel(DirectiveModel model);
	
	/**
	 * 指令名
	 * @param name 指令名
	 */
	void setName(String name);
}
